Cho dãy A gồm N phần tử . Tính tổng của các phần tử
a) Xác định input,output
b) Nêu ý tưởng
c) Thuật toán theo cách liệt kê
Cho dãy A gồm N số nguyên tử A1,A2,...An.Hãy tính tổng các phần tử chia hết cho 3 trong dãy A.Viết thuật toán giải bài toán trên bằng cách liệt kê.
Thuật toán
-Bước 1: Nhập dãy số
-Bước 2: t←0; i←1;
-Bước 3: Nếu a[i] mod 3=0 thì t←t+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất t
-Bước 7: Kết thúc
Câu 2. Xét bài toán: Cho số nguyên dương N và dãy số A1, A2,…, AN. Hãy đưa ra màn hình các phần tử là số
lẻ có trong dãy
a. Hãy xác định Input, Output của bài toán.
b. Hãy mô tả thuật toán giải quyết bài toán bằng cách liệt kê hoặc vẽ sơ đồ khối
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2!=0) cout<<x<<" ";
}
return 0;
}
Cho dãy số A a1,a2,.... aN và khóa k đếm xem trong dãy có bao nhiêu phần tử bằng k .
Xác định input,output , nêu ý tưởng , thuật toán , mô phỏng thuật toán .
Tham khảo
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
Mô tả thuật toán bằng cách liệt kê của bài toán sau:Cho dãy số nguyên gồm N phần tử (2
cho N , dãy số A1,A2,...An. hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0
a) xác định input,output
b) viết thuật toán bằng phép liệt kê hoặc sơ đồ khối
c) hãy mô phỏng thuật toán với bộ dữ liệu sau:
-5,0,4,6,-8,0,6,12. và cho biết kết quả
#include <bits/stdc++.h>
using namespace std;
long long n,i,dem,x;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==0) dem++;
}
cout<<dem;
return 0;
}
Cho A = {n thuộc N / n chia 3 dư 1;n<500}
a,Liệt kê các phần tử của A
b,Dãy có phải dãy cách đều ko
c, Tìm số hạng thứ 40 của dãy
d,Tính tổng các phần tử của A
*Ý a,b sử dụng Máy Tính Cầm Tay và liệt kê quy trình thực hiện
a, A = 1;4;7;10;.........; 499
b, dãy trên là dãy cách đều vì
1;4;7;10 ; .........; 499
cách dều nhau 3 đơn vị hay hơn kém nhau 3 đơn vị
c, vì là số cách đều nên số hạng thứ 40 là 1 trong các số
121;124 vì khi chia chữ số hàng chục và trăm cho 3 thì đc 4
nếu là số 124 thì ta có
( 124 - 1 ) : 3 + 1 = 41
=> số thứ 40 là 121
d, phần tử của tập hợp A có là
( 499 - 1 ) : 3 + 1 = 167 ( số )
tổng số phần tử A là
( 499 + 1 ) . 167 : 2 = 41750
Đ/S:............
chúc bạn học tốt ^ _ ^
Bài 1: tìm UCNN của 2 số A,B
a) Xác định input, output
b) trình bày thuật toán theo liệt kê
c) trình bày thuật toán theo sơ đồ khối
a: Input: Hai số a,b
Output: UCLN của hai số này
b:
-Bước 1: nhập a,b
-Bước 2: Nếu a>b thì
+Bước 2.1: r←a mod b;
+Bước 2.2: r←a mod b;
+Bước 2.3: a=b;
+Bước 2.4: b=r;
+Bước 2.5: Nếu r<>0 thì quay lại bước 2.2
+Bước 2.6: Xuất b
-Bước 3: Nếu a<=b thì
+Bước 3.1: r←b mod a;
+Bước 3.2: r←b mod a;
+Bước 3.3: b=a;
+Bước 3.4: a=r;
+Bước 3.5: Nếu r<>0 thì quay lại bước 3.2
+Bước 3.6: Xuất a
-Bước 4: Kết thúc
Cho dãy A gồm N số nguyên : A1,... An Đếm xem có bao nhiêu phần tử dương có trong dãy A A. Xác định Input output của bài toán B. Viết thuật toán C. Mô phỏng với N=10 dãy A gồm 4,-7,-12,9,-13,15,-20,10,-6 Giúp vơiiii
#include <bits/stdc++.h>
using namespace std;
long long x,i,n,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) dem++;
}
cout<<dem;
return 0;
}